add insert function