Refactor for interfaces