I need to double check if the weights & data logic makes sense