uses %u instead of %d for unsigned int