4.5 ready to refactor