ruby gems now uses this. will keep both for now
new message
moving together for clarity
not checking this in particular
execute the string.
add the branch present check before proceeding
check for errors outside this function