slim down dependencies
add eslint rules
move things around a bit
completely revamp test infrastructure