Есть методичка
также есть уже написанная, но неправильная работа на эту тему с большим описание всех ошибок от преподавателя