working autogeneration