address inherit from abstract
comments added