weight functions first draft