https://medium.com/bina-nusantara-it-division/the-mistake-i-made-during-programming-part-1-d2bb12d48a0b