design explanation