implement actual domain storage in cleaner architecture, survives 1 query