proper handling of overridden properties in derived types