added swingworker thread