Refactor interface