shell commands extracted into own class for better testability