far more efficient preferences checking and saving!