loop combinator added