Initial set of classes

No where near completion yet, but some code...