Added eval functions and depth recursion