UserThread Constructor