Overhall the implementation.  Use Class objects and take user input to process the matchings