implemented add and delete subnode functionality