refactor, add store interface to support multi store