wip - procedual api basically complete, fluent api needs lots of work