refactor Tile class and remove Cell