first pass docs - everything as classes