Recursion?
Bad bad bad