Refactor, abstraction.