add tests
fix rubocop offenses