[...]this is working code with some modified names.