seems like a working prototype to me, let me just check for bugs..