adaptive final weights