final with fixes