working on assync
done for now