updated demon class