fix if loop