sub process_input { croak "Cannot use an abstract method; }