simplified design drastically