all class members should be documented in doxygen, especially things like dfs (not clear what it is)