complete insert data implementation