Codigo aparentemente finalizado, mas contem erros.