"token" not a really good name