refact insert method based on CLRS
 On branch ch12