Пожалуйста, взгляните на оригинальную модель для другой реализации. Все заслуги принадлежат оригинальному автору.