new async system. still fails