protect against misuse of class rather than extend