add object-store test cases
big refactoring