Rearranged source by component instead of layer