added optimization Optim.jl