initial generator c