Add documentation

Document all public classes and functions