initial implementation of Insert()