refactor 1of2