Approach to the solution: Key elements of design: Issues encountered: