add clog & async