added blocking portion