initial commit, proof of concept. Need to tidy things up a lot! (main file has to be split into several small files)