recursiveInsert