test useless, the block can be replaced by first = false