handle types explicitly