fixed: signed/unsigned comparisons