Use deposit interfaces instead of implementations