initialize and cleanup pulled to base class