first iteration on the new fluent api spec.  It supports the CRUD operations,
but still missing is:
1. many of the query special fields
2. batch update/remove
3. aggregation