cannot derive from class with private constructor