add history, publish to npm