took out dependency on add_child side effect