add linting and coverage