by @Eszter Vass Fork