complete insertion