basic tests, coverage and linting