logic update. broken