updates to code structure