changed public to protected
public to protected merge