It's an abstract class, constructors should be protected