Merge branch 'refactoring' into 'master'

Refactoring

Closes #37 and #21

See merge request !10
16 jobs for v2.1 in 96 minutes and 47 seconds (queued for 3 seconds)
latest