Merge pull request #37 from pitr-ch/refactor

see commit messages
Merge pull request #39 from pitr-ch/refactor

Refactor: see commit messages pls