made token optional