web refactor