simple implementation, token is stored in env