fix signed/unsigned change comparision problem