Improve Javadocs
Add more tests