adding high level design