component reordering, hiding logic added