added DerivedProperty.create