Added async stuff so that you can call back instead of returning a value