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