better javadaocs and comments, cleanup