adds abstraction refactoring