work in progress; async issues
WIP
done!