compose and compare