First draft of basic classes