token should be empty string if it doesnt exist