Changing interface to provide both add and ensure functionality for interfaces