Starting to incorporate Updater class

close #8
close #16
close #18
close #19
close #20