improved determine blocked state