the new solver sort of works, but i'm not sure how to find nice values of epsilon