implement persistent configuration