first finished attempt to model-stores (not tested)