refactored tile object