return false if no ulck