refactor, tile is virtual