use new inheritance