reorganized code and updated build classpath