components point of view