Added the BFGS algorithm; improved documentation