heredoc and readLine added