History API

Fixes #4