implementing block/unblock
added missing files from the previous commit