New class Tile, various new methods and new structure