Please split out LBFGS into its own file.