avoid "value" being null