Refactoring of code, added JavaDocs, renamed classes.