ok - I would raise a special exception instead of ValueError, so we don't catch real ValueErrors that might be elsewhere in our own code, though.