append vs replace_inner