add observer definition