fix spelling
remove duplicate class
Added main method
Added UML diagram
Generate JavaDoc, fix warnings