refactor to remove web components