Interfaces refactored v2