minor
from_string may throw ValidationError