add history storage implementation