reverse works, working on recursive reverse