improved inheritance between classes