have working implementation now, does not do parallel tempering yet