Changed some shit; I think everything but recursion works