implement $evalAsync