Fully functional solver