add observer collapse