fix some stuff, introduce TokenResponse