DEP-45 partially refactored into component