#21 'clean code' and documentation