case solving