added async to process and get the token first if the token doesn't exists