Javascript and a lot of test cases
Added a lot of ruby style guidelines