component wrapper - improvement