added allow_nil: true