Removed final keyword to allow inheritance