added case expressions