use refactored components