Extensions homogenization, cleaned up.

Rebased and cleaned up version of extension homogenisation. I will give some comments that should be fixed before merge now.
cast**s**