adopted async app start on ready pattern