Big commit; Pattern matching, filtering all seem to work