use type instaead of class in TypeConvert (not finished yet)