adjusts size if needed (good compromise), fixed some prefs issue, research comments