added datastore to persist changes client-side