auto-populate required values with defaults at marshal time