it acts as a daemon