More functionality
Optimized the code to constant time
Added user interface
Merge branch 'optimize'