see [Sch96], [Kil89], [CGT95], [BCC88]