revised arch.h