should make sure that these intermediate classes can't be modified