turn container creation into a promise(closes #56)