adicionadas refatorações restantes