added pretty printing and a stub algebra for  unrolling
working unroll