Core concepts

Continuation of #101