refine type def