#49 minor refactoring
#49 reformat
#49 minor refactoring
#49 minor refactoring