rename all the files, and refactor so can be used by JAVA