Added usage documentation, tidied up include inconsistencies, added dependencies