 I think that the weight updating process is wrong???