moved Storage to StorageInterface
added AbstractStorage class
updated storage related classes