modified visibility so child class can use the function