split into components