Removed Excess pointers and added Iterator support