working broadcast on artifact discovery; changed fingerscanner logic to use thread