Interfaces

Porting over interfaces from internal dev tool.