Implement a core API - version 1

Issue #130