impl token passing