with user-supplied scripts