private -> protected to enable extensions