minimal set of functionality working in core API, and some tests written