Organized imports, formated.
Did some refactoring, added basic java docs.
Added the notice.