reorganised for tccv class