full credits to Ender. (and Jacbob626 / UraniumMP)