Assync functions now return a promise. Basic system is working.