added a way to add and delete childs based on a key system