update generate_chains