added pw generator