removed IllegalArgumentException, use InvalidArgumentException instead