high level architecture