mobility refactoring