enhanced password validation