refactoring por todos lados...