make accept method virtual