added stack, renamed json_prog, added recursive_add