Parcial refatoramento do codigo