basic worker
fix the bug