with solutions