Some milestones for the project reached:
1. Add test cases for sorting and plotting.
2. Add Github actions for testing on `ubuntu-latest`, `windows-latest`, and `macos-latest` platforms for python 3.6, 3.7, 3.8, and 3.9 versions.
3. Remove `_flatten` function because it's not really needed.
4. Minor changes to comply with `flake8` and `mypy`.