before refactor 2