refactor: view plugin