final with log