correcting value-type, but it can't compile yet.