reduce type check