specification -> design