Working solver