weight added + constrainst fix