fail => die. explicit self