working game

TODO add comments