added function generation