sync / async || blocking / non-blocking