added full game mechanics