Add more documentation

Also change some visibility