Most of the model, albeit untested and probably severely buggy
semi-working draft of the view, although it seems like something fires to early