basic architecture setup