passing messages, logging, now working on worker function