add coverage, history
fix __deepcopy__ memo + make test auto-runnable