add append child function