adding rec case, draft
better if for while and switch, still stuff to fix