case logic