Added in actual functionality
Changed the addSome method to be constant time
Added user interface
Merge branch 'optimize'