recursive build for node