updated to abort on condition change