That is pretty redundant. Only the CVec differs so put that into it's own function to clean it up.