refactor observation list