First Async impl (with bugs)

Change-Id: I1e351555b6a0a479fd6bc0de6bfdaa46bf11e990