Refactoring abstractions