Initial commit

Porting all the code from Qiita and extending the tests.
same comment re:`Notes` numpydoc section