give a asynchronous comportment when it's appropriate and update correspondant unit tests