code architecture setup