diverse fixes and Refactorings as well as several comments in javadoc