Added optional blocking