fix `no-pointer-sign` warning
refactored