fail() not used here