comenzando implementacion y refactoring de codigo