First draft. Including APIs. Much work finished.