added ctor and spaces, renamed dfs to print_pre_order