Initial commit

Porting all the code from Qiita and extending the tests.
is not that it needs a `{0}`... that is string formatting, at the end of the docstring I have `.format` so I can dynamically fill those values