Updated insert function