Fix up the API to try and get closer to SOQL