updated most files, including main.java