migrate to CBV