take care of reference issue when pushing to children array