remove eval with case statement for common usage, potentially breaking change