add factory models, add overrides and variants for block registration