refactor perspective