updated to a cleaner interface

to be similar to IPOPT, passing Vectors instead of Ptrs