It needs work on

To be really useful as a generic model, this probably needs to be considered a proof of concept. It may be easier to redo *all* the programming than to hack at this.