added blocking functionality