refactor type_converter + specs