the original code from Heidy
started customization