better source link
fix signed/unsigned warning