better implementation
clearer code
Test
Merge branch 'master' of https://github.com/adeodhar1/java.git