This is a project I did for a contest two years ago. I couldn't finish it on time, but I learned a lot.