create observations factory