Added a bunch of code to the interfaces