refactored queryEngine to use a mapping class
can define simple custom fields