Added compose method and other helpers