explained batch, async and some more features