my java improvement and refactor track