moved observer execution to the end