Refactored interface