A working prototype can be found HERE