Николай, Посмотрел код, неплохо. Но думаю этого недостаточно, следует сделать дополнительные настройки (ограничения).