Updated documentation significantly