Support for on the fly language selection
Code cleaning and documentation
javadoc fixes