Basic outline of high level design