introduced optional classes (that can only be used when certain classes are in the class-path)
fixes #24