add secret generation