Using an interface to allow multiple solving algorithms