add observer mode