refatorando para usar cbv