retype function