Added compose method