Made ASYNC calls use promises to be non-blocking