fixed more signed vs unsigned warnings