? why do you need to expose this data structure- the implementation should expose it or make it transparent.