#abstract-interface