async compile

closes #60