CGI fundamentals