add utf-8 encoding and password reset function with token