initial

TODO(learningthat): Fill functions content, amend comments