use reference for weight, not estimate