updated much of the documentation - much cleaner and easier to follow
merged