implement insert -- need to test