modularized react