changing default constructors visibility to protected