implement Single Table Inheritence