Corrected thread implementation (using Runnable interface and Thread(t).start