adding polymorphic weighting updates to layer class