Added depth and breadth search, and actual tests