Author: Jacek fruhling & Janusz Grabowski