Added device initialization and memory base class