use CanInterface to skip unxported fields.