http://issuu.com/dada15a/docs/understanding.architecture.throug