worker logic
worker logic