slide: Separating interface hierarchy and implementation