main
adds base, codec, async and sync