updated options.token to accept token and args, also deferred resolve passes all arguments back