the method should be protected