Add copy control

1. Add copy constructor and overriding =
2. Add delete by index
3. Some minor modification