Refactor to fit JLS