wrap in a ruby block