Added the high-level design