cleaned up pipeline using inheritance to avoid duplicating code when
running the same annotators multiple times