initial code structure update