add property type check