basic game mechanics working