adapted data structure