Some doodles on some bits we might need

don't think any of this is necessarily correct but it's a start. I
haven't got my head around the c++ class format yet