Added requirements and proposed design.