proper system design