Updated SOlution as of 3/10/2014 730pm