supplied values are unsigned