tidy up and add a usage section (still needs a lot of work)