fixing hiding/removing/showing async logic