Top weight numbers might be inaccurate so a stockweight attribute was added and a conditional init clause was added.