System design considerations