piece inheritence