added deamonizing feature