General changes - untested

Adding lots of front-end code, but most of it is untested.