rewrote way assignment weights are stored