Inteface Addition

Large additions by Avoloc to make an interface.