adding tests and linting