added insertMiddle()