updated 2.3 as per comments
replied to comment in 2.4
replied and updated section 3 according to comments
updated section 4.2, 4.3 with comments. removed return from algorithms