allow derived class to override processing