Refactoring Tiles

Refactoring the tile code and how it relates to units