refactor model / store