Adicionado arquivo com melhor modularização no antigo código