different wrapper component apprach