adds type check