add javadoc to constructors and decrease visibility of constructors that require knowledge of internal data representations.