Workable version of solver