potential bug if zero is a valid label