changed token methods to use *Token so the side effects work