added token passing