weight mutation location, and maintain annotations