new inheritance scheme, minus cloning