3GNF script