pasted from patrick's readme