added comments

Добавлены коментарии ко всем функциям и методам.
А так же записаны некоторые задания, которые необходимо сделать (TODO).
fixed function length