refactor remove extra type define