components as array