Super refactor
rudimentary custom filters support added