Add core infrastructure code except I/O processing