refactored settings to use filter