separated Runnable and Thread