added parallel tempering