what does fail do here?