upper solver fix