order needs to be passed as a block