- refactoring post-3 code