Made design improvements, refactored code
Added Comments to classes
Added 2 Additional features in the order mentioned in specs
Added Unit Tests for code