Separados em funcoes e adicionado rotinas de controle