first draft of design model with persistence