Begin of an observer + various fixes