--- DEMON ---