reimplement dfs number computation to be significantly faster. This speeds up