settled on router + datastore