adaptation to interface