feature: preferences can be saved