Reworking the class, things are getting more clear for me

added javadoc, cleaned up constructs ...