refactored fields to properties
removed using, enumerator from dfs()
some updates