refactoring moto