Minor optimization.
Improved documentation.
Added test cases.
Using grunt to minify the JS.
improved naming convention