re-arrange components