Include Asyncjs and refactor