refactor observation validator