restructuring
self-recursion works
fix issue with not ppopping to clear stack with an expression statement
move kabel_test over