add StoryModel interface