protected visibility
updated docblocks and comments