Moving solver code around to enable boost preferences