works!!
	all method are in mutex
	mutex is passed among different thread in the proper way