updated autogeneration