Small optimizations - use add transfer async, use nodes dictionary