- Improved code
  Replaced implementation with interface
  ArrayList => List.