pr refactor2