Sources Acknowledgement: 

  • Mario Mendieta
  • Ravikiran Srinivasulu