Adds language support and some javadoc