fixed c3v impl