High-level design