add architectur function