added high level architecture diagram