se refactorizan clases y se agrega javadoc