create and discard orthogonal optimization, make objective function
trying optimization, it isnt working