regenerate for real THIS time