Work for 1.9, Untested

- Changed the way protocols work