put `*` near type, also can change the inconsistent params above.