removed final modifier to make the root node inheritable