added some dependancies, and write recurse test