distinction between $compose and compose