Needs sanitizing, and to persist configuration