high level design