linting and checking