refactoring in derived types was necessary because of refactoring in VF2 core

testing necessary!