Add basics of documentation and start using `pad` as in implementation