update structure + design