simplified extend-method