redefined data structure