first order solver fixed