Abstract filters to allow diff input/output configs