adding history buffer base class
finished history buffer implementation