Added copy constructors, tidied documentation.