store weight components as double rather than float