Change patch system
Add test suite
Add patches