Credit to Nikolai for building the main components, rest done by Pahlos, davey20002000 and DmitryShuvalov.