Architecture refactory