add history module, fixture, and tests