update with solutions that work