add persistent storage support