added async api function, handle updated m5nr api result, code clean