commite final com as funcionalidade da parte B e C implementadas