improve settings save