FUCK YEAH RECURSION

also added a #debug flag to pause sholan for debugging