high level design question