- refactored part II.