- a few complexities - final method calls from ctor - raw exception throwing - useless overrides - loss of stack trace