fixed function composition order