Filter pre-select, case insensitivity, style changes, main refactor