public DCPackage(int number, byte[] payload) throws InputMismatchException {
		if(payload.length > PAYLOAD_SIZE) {
			System.err.println("[DCPackage] Severe: Rejecting input " + String.valueOf(payload) + " since it is too much for a single message.");
			throw new InputMismatchException("Payload size exceeds bounds: Payload size is " + payload.length + " and must at most be " + PAYLOAD_SIZE);
		} else if(number >= (1 << NUMBER_SIZE)) {
			throw new InputMismatchException("The round number exceeds the bounds of this package format.");
		} else {
			this.round = number;
			this.payload = payload;
			this.header = makeHeader(number);
		}
	}