Now using seed, if present, to ensure repeatable results