design mode principle