new solver - ongoing
testing phase