added abstract storage manager