the "goto" function is now a directive with input validation