#45: laid out basic architecture