trying out a new approach of instantiating solution objects via factories