Contracts inheriting without implementing all functions now need the "abstract" marker.
Pass necessary arguments to inherited abstract contract constructors .
Abstract contracts can't be deployed solo only normal contracts that implement their inherited functions can.