some fixes and new solver