added asynchronous support, updated token reflection usage