add subclasses for different tile types