added method insert()