add initial storage implementation skeleton