basic architecture done