already spent more time on the readme than on the code