variation interfaces