Added more interfaces and did a general clean up.