https://medium.com/@shubham-kashyap/different-memory-allocation-and-its-challenges-part-1-e86cfeb095d4