Greatly improved documentation