added some data structure interfaces