Added abstract constructors