recursive may not be done, unit test was sceeped because I don't know what that means. all other conditions was done.