Reimplement; change README.