now there is a common parent class for threads