added user type so sublclasses are distinct