reformatted architecture and allowed for conditional includes