Arf/refactor