system design guide