First commit. Working iteratively and recursively.