refactor: privatize remaining public fields
update documentation