add Filter/Criteria types and implementation