catching up with base CGI