coding #341 separando en funciones y modificando la funcionalidad