factored out common code between node and nodelet