Fixed some bugs, added letrec