refactred hw components