Refactor extended