It's a touch different than the one in create_node, but I can certainly refactor and make a utility function for it.