more draft code for architecture