first cut at bfs/dfs
add memo class
fix build