Reworking solving algorithms