final with signals