new generated function added