new experimental object differentiation
some tweaks