Bottom-up and top-down design