GUI + solver (working)