use pwgen instead of custom function