refactoring and jd