This is nearly it, I just need to figure out what's going on with the recursive call I think.
Seriously man, come on.