Fix class visibility
Add documentation