translated pwd V1.0 by Vic020