adds interfaces for fun and profit