added while support. fixed list combinator bug.