extract Tile to separate file
extract List to separate file
add tile_show, tile_hide functions to Tile