add erase versions, emplace returns iter
implement iter return for emplace