добавил две новые функции; (код не протестирован)