Refactor a4