change val() expr arg to dynamic