initial code structure