adjusted some visibilities and javadocs