functional daemon
oop daemon
oop daemon