compose controller with object