make storage as separate class