fixed refactor type