fine tune on basic types.