------------------------------
Copyright hnrfxm probably.