reorgnized the structure