added blocking functions