refactor 2of2