Now Storage is optional, default null