some methods can be package protected
doc