We could add other interfaces in a different PR