public (public) external subclasses of this class can be used
protected (protected) can only be used internally
private (private) can only be used in this class