Added some interfaces, did some clean up