refactor : work on await