final version of fixing with all changing