refactoring interactions