https://ghalyputri.blogspot.com/2011/11/notepad-5961-open-source.html