implemented single table inheritance