avoid signed unsinged comparison