move recursive load-node function to util