docs and changing method to protected