fix logic to be less confusing, dont use !!