Update after testing, add objective
Update exact derivatives
Fix test cases
Bit more testing