with solution reader