refactor store module