added blocking option