added async tracking and cursor tracking