add solve cache functions