pylint implementation