added extra component milestone3 and therefore changed structure of component entities for easier reuse