added new features and java classes