more linting
better signal handling