fix the constructor chain. It can control deep layer inheritance.