Lots of changes, some CSS added. Will tidy things up a lot more.