make updateToken a standalone function