should this class be final?