make type dynamic